Game system, non-transitory storage medium having stored therein game program, game apparatus, and game method

ABSTRACT

A game system includes operation units, a game processing unit that performs game processing on the basis of operation onto the operation units, a waveform information generator that generates vibration waveform information representing a vibration waveform corresponding to a first event that occurs in the game processing, and vibration units that vibrate on the basis of the vibration waveform information. In a case where the first event continues, the waveform information generator generates the vibration waveform information such that the amplitude of the vibration waveform decreases in accordance with the lapse of time.

CROSS REFERENCE TO RELATED APPLICATION

This nonprovisional application is based on Japanese Patent ApplicationNo. 2017-002017 filed with the Japan Patent Office on Jan. 10, 2017, theentire contents of which are hereby incorporated by reference.

FIELD

The present disclosure relates to a game system with a haptic feedbackfunction, a non-transitory storage medium having stored therein a gameprogram, or the like.

BACKGROUND AND SUMMARY

Conventionally, there has been a known game system having a hapticfeedback function. JP 2008-345 A discloses a game system including agame apparatus connected to a monitor and including a controller forgiving an operation instruction to the game apparatus. The controllerhas a built-in vibrator, driving of which causes the controller tovibrate. With this configuration, JP 2008-345 A realizes a game thatallows a user to guess a non-displayed object by a haptic stimulus in astate in which an object cannot be visually recognized on a monitor.

The game system described in JP 2008-345 A controls vibration of thecontroller by turning on/off the vibrator. An object of the presentdisclosure is to provide a game system capable of giving a player avibration sensation using a beat.

A game system according to one aspect includes: an operation unit; agame processing unit configured to perform game processing on the basisof operation onto the operation unit; a first waveform informationgenerator configured to generate first vibration waveform informationrepresenting a first vibration waveform having a predetermined frequencyon the basis of the game processing; a second waveform informationgenerator configured to generate second vibration waveform informationrepresenting a second vibration waveform having a frequency differentfrom the frequency of the first vibration waveform on the basis of thegame processing; and a vibration unit configured to vibrate inaccordance with a combined waveform obtained from the first vibrationwaveform and the second vibration waveform, on the basis of the firstvibration waveform information and the second vibration waveforminformation.

With this configuration, the vibration unit vibrates in accordance witha combined waveform obtained from the first vibration waveform and thesecond vibration waveform having a frequency different from thefrequency of the first vibration waveform, making it possible togenerate a beat by the difference in the frequencies.

The first waveform information generator may generate the firstvibration waveform information such that the frequency of the firstvibration waveform changes, and/or the second waveform informationgenerator may generate the second vibration waveform information suchthat the frequency of the second vibration waveform changes, whereby thedifference between the frequency of the first vibration waveform and thefrequency of the second vibration waveform may be changed.

With this configuration, the difference in the frequency between thefirst vibration waveform and the second vibration waveform changes,making it possible to change a beat frequency.

The game processing unit may move a predetermined object within avirtual space at a moving speed corresponding to operation onto theoperation unit, and the first waveform information generator maygenerate the first vibration waveform information in which the frequencyof the first vibration waveform changes in accordance with the movingspeed, and/or the second waveform information generator may generate thesecond vibration waveform information in which the frequency of thesecond vibration waveform changes in accordance with the moving speed.

With this configuration, it is possible to change the beat frequency inaccordance with the moving speed of the predetermined object within thevirtual space.

The first waveform information generator may generate the firstvibration waveform information so as to decrease the amplitude of thevibration waveform of the first vibration waveform in accordance withthe lapse of time, and/or the second waveform information generator maygenerate the second vibration waveform information so as to decrease theamplitude of the vibration waveform of the second vibration waveform inaccordance with the lapse of time.

With this configuration, it is possible to reduce discomfort given tothe player by continuing the vibration based on the first vibrationwaveform and the second vibration waveform, and in a case of generatinga combined third vibration waveform different from the first vibrationwaveform and the second vibration waveform on the basis of gameprocessing, it is possible to allow a player to better feel a vibrationsensation caused by the third vibration waveform.

The first waveform information generator may generate the firstvibration waveform information in which the frequency of the firstvibration waveform is within a half width of a resonance frequency ofthe vibration unit, and/or the second waveform information generator maygenerate the second vibration waveform information in which thefrequency of the second vibration waveform is within the half width ofthe resonance frequency of the vibration unit.

With this configuration, it is possible to realize sufficient vibrationby the vibration unit and to allow the player to better feel the beat.

The above-described game system may include an operation apparatus andan information processing apparatus. The operation apparatus may includethe operation unit, the vibration unit, and a first communication unitconfigured to transmit operation data representing operation onto theoperation unit to the information processing apparatus, and receivefirst vibration waveform information and second vibration waveforminformation from the information processing apparatus. The informationprocessing apparatus may include the game processing unit, the firstwaveform information generator, the second waveform informationgenerator, and a second communication unit configured to receive theoperation data, and transmit the first vibration waveform informationand the second vibration waveform information to the operationapparatus. The first vibration waveform information includes frequencyand amplitude values of the first vibration waveform, and the secondvibration waveform information includes frequency and amplitude valuesof the second vibration waveform.

With this configuration, it is possible to form the operation apparatusin a simple configuration, and since the vibration waveform informationtransmitted from the information processing apparatus to the operationapparatus is expressed by frequency and amplitude values, it is possiblereduce the amount of data to be transmitted.

The game system may include two operation apparatuses and the secondcommunication unit may perform transmission and reception with the firstcommunication unit of each of the two operation apparatuses.

With this configuration, it is possible to play the game with theoperation apparatus held separately with the left and right hands, andfeel the vibration sensation separately with the left and right hands.

A non-transitory storage medium according to one aspect stores a gameprogram, the game program causing an information processing apparatus toexecute: a reception step of receiving operation data from an operationapparatus; a game processing step of performing game processing on thebasis of the operation data; a first waveform information generationstep of generating first vibration waveform information representing afirst vibration waveform having a predetermined frequency on the basisof the game processing; a second waveform information generation step ofgenerating second vibration waveform information representing a secondvibration waveform having a frequency different from the frequency ofthe first vibration waveform on the basis of the game processing; and atransmission step of transmitting the first vibration waveforminformation and the second vibration waveform information to theoperation apparatus.

With this configuration, the separate vibration waveform informationrepresenting the first vibration waveform and the second vibrationwaveform different in frequency from each other is transmitted to theoperation apparatus. Accordingly, it is possible in the operationapparatus to generate a beat by causing the vibration unit to vibrate bya combined waveform obtained by combining the first vibration waveformwith the second vibration waveform.

The first waveform information generation step may generate the firstvibration waveform information such that the frequency of the firstvibration waveform changes, and/or the second waveform informationgeneration step may generate the second vibration waveform informationsuch that the frequency of the second vibration waveform changes,whereby the difference between the frequency of the first vibrationwaveform and the frequency of the second vibration waveform may bechanged.

With this configuration, the difference in the frequency between thefirst vibration waveform and the second vibration waveform changes,making it possible to change a beat frequency.

The game processing step may move a predetermined object within avirtual space at a moving speed corresponding to the operation data, andthe first waveform information generation step may generate the firstvibration waveform information in which the frequency of the firstvibration waveform changes in accordance with the moving speed, and/orthe second waveform information generation step may generate the secondvibration waveform information in which the frequency of the secondvibration waveform changes in accordance with the moving speed.

With this configuration, it is possible to change the beat frequency inaccordance with the moving speed of the predetermined object within thevirtual space.

The first waveform information generation step may generate the firstvibration waveform information so as to decrease the amplitude of thevibration waveform of the first vibration waveform in accordance withthe lapse of time, and/or the second waveform information generationstep may generate the second vibration waveform information so as todecrease the amplitude of the vibration waveform of the second vibrationwaveform in accordance with the lapse of time.

With this configuration, it is possible to reduce discomfort given tothe player by continuing the vibration based on the first vibrationwaveform and the second vibration waveform, and in a case of generatinga combined third vibration waveform different from the first vibrationwaveform and the second vibration waveform on the basis of gameprocessing, it is possible to allow a player to better feel a vibrationsensation achieved by the third vibration waveform.

The first waveform information generation step may generate the firstvibration waveform information in which the frequency of the firstvibration waveform is within a half width of a resonance frequency ofthe vibration unit, and/or the second waveform information generationstep may generate the second vibration waveform information in which thefrequency of the second vibration waveform is within the half width ofthe resonance frequency of the vibration unit.

With this configuration, it is possible to realize sufficient vibrationby the vibration unit and to allow the player to better feel the beat.

A game apparatus according to one aspect includes: a reception unitconfigured to receive operation data from an operation apparatus; a gameprocessing unit configured to perform game processing on the basis ofthe operation data; a first waveform information generator configured togenerate first vibration waveform information representing a firstvibration waveform having a predetermined frequency on the basis of thegame processing; a second waveform information generator configured togenerate second vibration waveform information representing a secondvibration waveform having a frequency different from the frequency ofthe first vibration waveform on the basis of the game processing; and atransmission unit configured to transmit the first vibration waveforminformation and the second vibration waveform information to theoperation apparatus.

With this configuration, two sets of vibration waveform informationrepresenting the first vibration waveform and the second vibrationwaveform different in frequency from each other are transmitted to theoperation apparatus. Accordingly, it is possible in the operationapparatus to generate a beat by causing the vibration unit to vibrate bythe combined waveform obtained by combining the first vibration waveformwith the second vibration waveform.

The first waveform information generator may generate the firstvibration waveform information such that the frequency of the firstvibration waveform changes, and/or the second waveform informationgenerator may generate the second vibration waveform information suchthat the frequency of the second vibration waveform changes, whereby thedifference between the frequency of the first vibration waveform and thefrequency of the second vibration waveform may be changed.

With this configuration, the difference in the frequency between thefirst vibration waveform and the second vibration waveform changes,making it possible to change a beat frequency.

The game processing unit may move a predetermined object within avirtual space at a moving speed corresponding to operation onto theoperation unit, and the first waveform information generator maygenerate the first vibration waveform information in which the frequencyof the first vibration waveform changes in accordance with the movingspeed, and/or the second waveform information generator may generate thesecond vibration waveform information in which the frequency of thesecond vibration waveform changes in accordance with the moving speed.

With this configuration, it is possible to change the beat frequency inaccordance with the moving speed of the predetermined object within thevirtual space.

The first waveform information generator may generate the firstvibration waveform information so as to decrease the amplitude of thevibration waveform of the first vibration waveform in accordance withthe lapse of time, and/or the second waveform information generator maygenerate the second vibration waveform information so as to decrease theamplitude of the vibration waveform of the second vibration waveform inaccordance with the lapse of time.

With this configuration, it is possible to reduce discomfort given tothe player by continuing the vibration based on the first vibrationwaveform and the second vibration waveform, and in a case of generatinga combined third vibration waveform different from the first vibrationwaveform and the second vibration waveform on the basis of gameprocessing, it is possible to allow a player to better feel a vibrationsensation caused by the third vibration waveform.

The first waveform information generator may generate the firstvibration waveform information in which the frequency of the firstvibration waveform is within a half width of a resonance frequency ofthe vibration unit, and/or the second waveform information generator maygenerate the second vibration waveform information in which thefrequency of the second vibration waveform is within the half width ofthe resonance frequency of the vibration unit.

With this configuration, it is possible to realize sufficient vibrationby the vibration unit and to allow the player to better feel the beat.

A game method according to one aspect includes: an operation receptionstep of receiving operation of a player on an operation apparatus; agame processing step of performing game processing on the basis of theoperation; a first waveform information generation step of generatingfirst vibration waveform information representing a first vibrationwaveform having a predetermined frequency on the basis of the gameprocessing; a second waveform information generation step of generatingsecond vibration waveform information representing a second vibrationwaveform having a frequency different from the frequency of the firstvibration waveform on the basis of the game processing; and a vibrationstep of causing the operation apparatus to vibrate in accordance with acombined waveform obtained from the first vibration waveform and thesecond vibration waveform, on the basis of the first vibration waveforminformation and the second vibration waveform information.

With this configuration, the vibration step causes the operationapparatus to vibrate in accordance with the combined waveform obtainedby the first vibration waveform and the second vibration waveform havinga frequency different from the frequency of the first vibrationwaveform, making it possible to generate a beat by the difference in thefrequencies.

The foregoing and other objects, features, aspects and advantages of theexemplary embodiments will become more apparent from the followingdetailed description of the exemplary embodiments when taken inconjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating a state in which a left controller anda right controller are attached to a main body apparatus according to anembodiment;

FIG. 2 is a diagram illustrating an exemplary state in which the leftcontroller and the right controller are removed from the main bodyapparatus according to the embodiment;

FIG. 3 is a six-sided view illustrating an exemplary main body apparatusaccording to the embodiment;

FIG. 4 is a six-sided view illustrating an exemplary left controlleraccording to the embodiment;

FIG. 5 is a six-sided view illustrating an exemplary right controlleraccording to the embodiment;

FIG. 6 is block diagram illustrating an exemplary internal configurationof the main body apparatus according to the embodiment;

FIG. 7 is a block diagram illustrating an exemplary internalconfiguration of the main body apparatus, the left controller, and theright controller according to the embodiment;

FIG. 8 is a diagram illustrating an exemplary state in which a game isplayed with the left controller and the right controller of theembodiment removed from the main body apparatus;

FIG. 9 is a diagram illustrating exemplary operation data output fromthe left controller according to the embodiment;

FIG. 10 is a diagram illustrating exemplary operation data output fromthe right controller according to the embodiment;

FIG. 11 is a block diagram illustrating a configuration of a game systemaccording to the embodiment;

FIG. 12 is a flowchart illustrating operation of the main body apparatusand the controller according to the embodiment;

FIG. 13A is a diagram illustrating an exemplary game screen of theembodiment;

FIG. 13B is a diagram illustrating an exemplary game screen of theembodiment;

FIG. 14A is a graph illustrating an exemplary temporal change in amoving speed of a motorcycle object within a virtual space by gameprocessing according to the embodiment;

FIG. 14B is a graph illustrating an exemplary temporal change in theamplitude of the first and second vibration waveforms in the embodiment;

FIG. 14C is a graph illustrating an exemplary temporal change in thefrequency of the first and second vibration waveforms in the embodiment;

FIG. 15A is a graph illustrating an exemplary temporal change in amoving speed of the motorcycle object within the virtual space by thegame processing according to the embodiment;

FIG. 15B is a graph illustrating an exemplary temporal change in theamplitude of the first and second vibration waveforms in the embodiment;

FIG. 15C is a graph illustrating an exemplary temporal change in thefrequency of the first and second vibration waveforms in the embodiment;

FIG. 16A is a graph illustrating an exemplary temporal change in amoving speed of the motorcycle object within the virtual space by thegame processing according to the embodiment;

FIG. 16B is a graph illustrating an exemplary temporal change in theamplitude of the first and second vibration waveforms in the embodiment;and

FIG. 16C is a graph illustrating an exemplary temporal change in thefrequency of the first and second vibration waveforms in the embodiment.

DETAILED DESCRIPTION OF NON-LIMITING EXAMPLE EMBODIMENTS

Hereinafter, a game system according to an example of the presentembodiment will be described. An example of a game system 1 in thepresent embodiment includes a main body apparatus (informationprocessing apparatus, functioning as a game apparatus main body in thepresent embodiment) 2, a left controller 3, and a right controller 4.The left controller 3 and the right controller 4 are individuallydetachable from the main body apparatus 2. Specifically, it is possibleto use as an integrated apparatus by attaching each of the leftcontroller 3 and the right controller 4 to the main body apparatus 2.Moreover, the main body apparatus 2 and the left controller 3 and theright controller 4 can be used separately (refer to FIG. 2). In thefollowing, a hardware configuration of the game system according to thepresent embodiment will be described first, and the control of the gamesystem of the present embodiment will then be described.

(Explanation of Main Body Apparatus, Left Controller, and RightController)

FIG. 1 is a diagram illustrating a state in which the left controller 3and the right controller 4 are attached to the main body apparatus 2. Asillustrated in FIG. 1, the left controller 3 and the right controller 4are attached to and integrated with the main body apparatus 2. The mainbody apparatus 2 is an apparatus configured to execute various types ofprocessing (for example, game processing) in the game system 1. The mainbody apparatus 2 includes a display 12. Each of the left controller 3and the right controller 4 is an apparatus including an operation unitused by a user to perform input.

FIG. 2 is a diagram illustrating an exemplary state in which the leftcontroller 3 and the right controller 4 are removed from the main bodyapparatus 2. As illustrated in FIGS. 1 and 2, the left controller 3 andthe right controller 4 are detachable from the main body apparatus 2. Inthe following description, the left controller 3 and the rightcontroller 4 will be collectively referred to as the “controller” insome cases.

FIG. 3 is a six-sided view illustrating an example of the main bodyapparatus 2. As illustrated in FIG. 3, the main body apparatus 2includes a substantially plate-like housing 11. In the presentembodiment, a main surface of the housing 11 (in other words, afront-side surface, that is, the surface on which the display 12 isprovided) is substantially rectangular in shape.

The shape and size of the housing 11 are arbitrary. For example, thehousing 11 may be formed in a mobile size. Moreover, the main bodyapparatus 2 alone and the integrated apparatus in which the leftcontroller 3 and the right controller 4 are attached to the main bodyapparatus 2 may be a mobile apparatus. The main body apparatus 2 or theintegrated apparatus may be a handheld apparatus. Alternatively, themain body apparatus 2 or the integrated apparatus may be a portableapparatus.

As illustrated in FIG. 3, the main body apparatus 2 includes a display12 provided on the main surface of the housing 11. The display 12displays an image generated by the main body apparatus 2. In the presentembodiment, the display 12 is a liquid crystal display (LCD). Note thatthe display 12 may be any type of display apparatus.

The main body apparatus 2 includes a touch panel 13 on a screen of thedisplay 12. In the present embodiment, the touch panel 13 uses a systemcapable of multi-touch input (for example, capacitance system). Notethat the touch panel 13 may use any system, for example, a systemcapable of single touch input (for example, resistive film system).

The main body apparatus 2 includes a speaker (that is, a speaker 88illustrated in FIG. 6) inside the housing 11. As illustrated in FIG. 3,speaker holes 11 a and 11 b are formed on the main surface of thehousing 11. The output sound of the speaker 88 is output from each ofthe speaker holes 11 a and 11 b.

Moreover, the main body apparatus 2 includes a left side terminal 17 asa terminal used by the main body apparatus 2 to perform wiredcommunication with the left controller 3, and a right side terminal 21used by the main body apparatus 2 to perform wired communication withthe right controller 4.

As illustrated in FIG. 3, the main body apparatus 2 includes a slot 23.The slot 23 is provided on the upper side surface of the housing 11. Theslot 23 has a shape that enables a storage medium to be attached. Thestorage medium is, for example, a storage medium (for example, adedicated memory card) dedicated to the game system 1 and theinformation processing apparatus of the same type as the game system 1.The storage medium is used for storing, for example, one or both of thedata (for example, saved data of an application) used in the main bodyapparatus 2 and a program (for example, an application program) executedin the main body apparatus 2. Moreover, the main body apparatus 2includes a power button 28.

The main body apparatus 2 includes a lower terminal 27. The lowerterminal 27 is a terminal used by the main body apparatus 2 tocommunicate with a cradle. In the present embodiment, the lower terminal27 is a USB connector (more specifically, a female connector). When theintegrated apparatus or the main body apparatus 2 alone is mounted onthe cradle, the game system 1 can display an image generated and outputby the main body apparatus 2, on the stationary monitor. Moreover, inthe present embodiment, the cradle has a function of charging theabove-described integrated apparatus or the main body apparatus 2 alonemounted on the cradle. The cradle also has a function of a hub apparatus(specifically, a USB hub).

FIG. 4 is a six-sided view illustrating an example of the leftcontroller 3. As illustrated in FIG. 4, the left controller 3 includes ahousing 31. In the present embodiment, the housing 31 has a verticallylong shape, that is, a long shape in the vertical direction (that is, inthe y-axis direction illustrated in FIG. 1). The left controller 3 canalso be held in a vertically long orientation in a state detached fromthe main body apparatus 2. The housing 31 has a shape and size that canbe held with one hand, in particular with the left hand, in a case ofbeing held in a vertically long orientation. Moreover, the leftcontroller 3 can also be held in a landscape orientation. In the casewhere the left controller 3 is held in a landscape orientation, it maybe held with both hands.

The left controller 3 includes an analog stick 32. As illustrated inFIG. 4, the analog stick 32 is provided on the main surface of thehousing 31. The analog stick 32 can be used as a direction input unitcapable of inputting a direction. By inclining the analog stick 32, theuser can input a direction corresponding to the inclination direction(and input with a size corresponding to the inclined angle). Instead ofthe analog stick, a cross key or a slide stick capable of slide inputmay be provided as the direction input unit. Moreover, an input bypressing the analog stick 32 is possible in the present embodiment.

The left controller 3 includes various operation buttons. First, theleft controller 3 includes four operation buttons 33 to 36(specifically, a right direction button 33, a down direction button 34,an up direction button 35, and a left direction button 36) on the mainsurface of the housing 31. Furthermore, it has a recording button 37 anda − (minus sign) button 47. The left controller 3 includes a first Lbutton 38 and a ZL button 39 on the upper left of the side surface ofthe housing 31. The left controller 3 also includes a second L button 43and a second R button 44 on the side surface of the housing 31, the sideto be attached when it is attached to the main body apparatus 2. Theseoperation buttons are used to give instructions according to variousprograms (for example, OS program and application program) executed bythe main body apparatus 2.

Moreover, the left controller 3 includes a terminal 42 used by the leftcontroller 3 to perform wired communication with the main body apparatus2.

FIG. 5 is a six-sided view illustrating an example of the rightcontroller 4. As illustrated in FIG. 5, the right controller 4 includesa housing 51. In the present embodiment, the housing 51 has a verticallylong shape, that is, a long shape in the vertical direction. The rightcontroller 4 can also be held in a vertically long orientation in astate detached from the main body apparatus 2. The housing 51 has ashape and size that can be held with one hand, in particular with theright hand, in a case of being held in a vertically long orientation.Moreover, the right controller 4 can also be held in a landscapeorientation. In the case where the right controller 4 is held in alandscape orientation, it may be held with both hands.

Similarly to the left controller 3, the right controller 4 includes ananalog stick 52 as a direction input unit. In the present embodiment,the analog stick 52 has the same configuration as the analog stick 32 ofthe left controller 3. Instead of the analog stick, a cross key or aslide stick capable of inputting a slide or the like may be provided.Similarly to the left controller 3, the right controller 4 includes fouroperation buttons 53 to 56 (specifically, A button 53, B button 54, Xbutton 55, and Y button 56) on the main surface of the housing 51.Furthermore, the right controller 4 includes a + (plus sign) button 57and a home button 58. The right controller 4 also includes a first Rbutton 60 and a ZR button 61 on the upper right of the side surface ofthe housing 51. Similarly to the left controller 3, the right controller4 includes a second L button 65 and a second R button 66.

Moreover, the right controller 4 includes a terminal 64 used by theright controller 4 to perform wired communication with the main bodyapparatus 2.

FIG. 6 is a block diagram illustrating an example of the internalconfiguration of the main body apparatus 2. In addition to theconfiguration illustrated in FIG. 3, the main body apparatus 2 includesindividual components 81 to 98 illustrated in FIG. 6. Some of thesecomponents 81 to 98 may be mounted on an electronic circuit board aselectronic components and stored in the housing 11.

The main body apparatus 2 includes a central processing unit (CPU) 81.The CPU 81 is an information processing unit that executes various typesof information processing to be executed in the main body apparatus 2,and more particularly, is a system-on-a-chip (SoC) including a pluralityof functions such as a CPU function and a GPU function. The CPU 81executes various types of information processing by executing aninformation processing program (for example, a game program) stored in astorage unit (specifically, an internal storage medium such as a flashmemory 84 or an external storage medium attached to the slot 23, or thelike).

The main body apparatus 2 includes the flash memory 84 and a dynamicrandom access memory (DRAM) 85 as an exemplary internal storage mediumincorporated in oneself. The flash memory 84 and the DRAM 85 areconnected to the CPU 81. The flash memory 84 is mainly used for storingvarious data (or may be programs) stored in the main body apparatus 2.The DRAM 85 is a memory used for temporarily storing various data usedin information processing.

The main body apparatus 2 includes a slot interface (hereinafterabbreviated as “I/F”) 91. The slot I/F 91 is connected to the CPU 81.The slot I/F 91 is connected to the slot 23, and performs reading andwriting of data from/into a storage medium (for example, a dedicatedmemory card) attached to the slot 23 in accordance with an instructionof the CPU 81.

The CPU 81 appropriately reads or writes data to and from the flashmemory 84 and the DRAM 85 and the individual storage media, therebyexecuting the above-described information processing.

The main body apparatus 2 includes a network communication unit 82. Thenetwork communication unit 82 is connected to the CPU 81. The networkcommunication unit 82 performs communication (specifically, wirelesscommunication) with an external apparatus via a network. In the presentembodiment, the network communication unit 82 communicates with anexternal apparatus using a wireless LAN connection with a methodconforming to the Wi-Fi standard as a first communication mode.Moreover, the network communication unit 82 performs wirelesscommunication with another main body apparatus 2 of the same type by apredetermined communication method (for example, communication based ona proprietary protocol or infrared communication) as a secondcommunication mode. Note that the wireless communication according tothe second communication mode is capable of performing wirelesscommunication with another main body apparatus 2 arranged in a closedlocal network area and achieves a function enabling “localcommunication” of transferring data by directly communicating among aplurality of main body apparatuses 2.

The main body apparatus 2 includes a controller communication unit 83.The controller communication unit 83 is connected to the CPU 81. Thecontroller communication unit 83 performs wireless communication withone or both of the left controller 3 and the right controller 4. Whileit is allowable to use any communication system between the main bodyapparatus 2 and the left controller 3 and between the main bodyapparatus 2 and the right controller 4, the present embodiment usescommunication conforming to Bluetooth (registered trademark) standard tobe used for communication by the controller communication unit 83 withthe left controller 3 and with the right controller 4.

The CPU 81 is connected to the left side terminal 17, the right sideterminal 21, and the lower terminal 27 described above. In a case ofperforming wired communication with the left controller 3, the CPU 81transmits data to the left controller 3 via the left side terminal 17and receives operation data from the left controller 3 via the left sideterminal 17. Moreover, in a case of performing wired communication withthe right controller 4, the CPU 81 transmits data to the rightcontroller 4 via the right side terminal 21 and receives operation datafrom the right controller 4 via the right side terminal 21. Moreover, ina case of communicating with the cradle, the CPU 81 transmits data tothe cradle via the lower terminal 27. In this manner, in the presentembodiment, the main body apparatus 2 can perform both wiredcommunication and wireless communication with the left controller 3 andthe right controller 4. Moreover, in a case where the integratedapparatus including the left controller 3 and the right controller 4attached to the main body apparatus 2 is attached to the cradle or wherethe main body apparatus 2 alone is attached to the cradle, the main bodyapparatus 2 can output data (for example, image data and sound data) tothe stationary monitor, or the like, via the cradle.

Note that the main body apparatus 2 can communicate simultaneously (inother words, in parallel) with a plurality of left controllers 3.Moreover, the main body apparatus 2 can communicate simultaneously (inother words, in parallel) with a plurality of right controllers 4. Thismakes it possible to perform inputs by the user into the main bodyapparatus 2 using the plurality of left controllers 3 and the pluralityof right controllers 4.

The main body apparatus 2 includes a touch panel controller 86 as acircuit for controlling the touch panel 13. The touch panel controller86 is connected between the touch panel 13 and the CPU 81. The touchpanel controller 86 generates, for example, data indicating a positionof input of a touch input on the basis of a signal from the touch panel13 and outputs the generated data to the CPU 81.

Moreover, the display 12 is connected to the CPU 81. The CPU 81 displayson the display 12 one or both of the generated image (for example, byexecuting the above information processing) and the image obtained fromthe outside.

The main body apparatus 2 includes a coder/decoder (codec) circuit 87and speakers (specifically, a left speaker and a right speaker) 88. Thecodec circuit 87 is connected to the speaker 88 and a sound input/outputterminal 25, and is also connected to the CPU 81. The codec circuit 87is a circuit for controlling input and output of sound data to and fromthe speaker 88 and the sound input/output terminal 25.

The main body apparatus 2 also includes an acceleration sensor 89. Inthe present embodiment, the acceleration sensor 89 detects the magnitudeof the acceleration in predetermined three axes (for example, the x-,y-, z-axes illustrated in FIG. 1) directions. Note that the accelerationsensor 89 may be configured to detect accelerations in one axialdirection or two axial directions.

Moreover, the main body apparatus 2 includes an angular velocity sensor90. In the present embodiment, the angular velocity sensor 90 detects anangular velocity around predetermined three axes (for example, the x-,y-, z-axes illustrated in FIG. 1). Note that the angular velocity sensor90 may detect angular velocity about one axis or around two axes.

The acceleration sensor 89 and the angular velocity sensor 90 areconnected to the CPU 81, and the detection results of the accelerationsensor 89 and the angular velocity sensor 90 are output to the CPU 81.The CPU 81 can calculate information related to one or both of themovement and posture of the main body apparatus 2 on the basis of thedetection results of the acceleration sensor 89 and the angular velocitysensor 90.

The main body apparatus 2 includes a power control unit 97 and a battery98. The power control unit 97 is connected to the battery 98 and the CPU81. Although not illustrated, the power control unit 97 is connected toeach of portions of the main body apparatus 2 (specifically, each ofportions receiving the power supply of the battery 98, the left sideterminal 17, and the right side terminal 21). The power control unit 97controls power supply from the battery 98 to each of the above-describedportions on the basis of a command from the CPU 81.

Moreover, the battery 98 is connected to the lower terminal 27. In acase where an external charging apparatus (for example, a cradle) isconnected to the lower terminal 27 and the power is supplied to the mainbody apparatus 2 via the lower terminal 27, the supplied power ischarged in the battery 98.

FIG. 7 is a block diagram illustrating an exemplary internalconfiguration of the main body apparatus 2, the left controller 3, andthe right controller 4. Note that details of the internal configurationrelated to the main body apparatus 2 are omitted in FIG. 7 because theyare illustrated in FIG. 6.

The left controller 3 includes a communication control unit 101 thatcommunicates with the main body apparatus 2. As illustrated in FIG. 7,the communication control unit 101 is connected to each of componentsincluding the terminal 42. In the present embodiment, the communicationcontrol unit 101 can communicate with the main body apparatus 2 by bothwired communication via the terminal 42 and wireless communication notvia the terminal 42. The communication control unit 101 controls acommunication method performed by the left controller 3 on the main bodyapparatus 2. That is, in a case where the left controller 3 is attachedto the main body apparatus 2, the communication control unit 101communicates with the main body apparatus 2 via the terminal 42. Incontrast, in a case where the left controller 3 is detached from themain body apparatus 2, the communication control unit 101 performswireless communication with the main body apparatus 2 (specifically, thecontroller communication unit 83). Wireless communication between thecontroller communication unit 83 and the communication control unit 101is performed in accordance with the Bluetooth (registered trademark)standard, for example.

Moreover, the left controller 3 includes a memory 102 such as a flashmemory. The communication control unit 101 is formed with, for example,a microcomputer (also referred to as a microprocessor) and executesvarious types of processing by executing firmware stored in the memory102.

The left controller 3 includes individual buttons 103 (specifically,buttons 33 to 39, 43, 44, 46, and 47). The left controller 3 alsoincludes the analog stick 32 (described as “stick” in FIG. 7).Individual buttons 103 and the analog stick 32 repeatedly outputinformation related to the operation performed on oneself to thecommunication control unit 101 at an appropriate timing.

The left controller 3 includes an inertial sensor. Specifically, theleft controller 3 includes an acceleration sensor 104. In addition, itincludes an angular velocity sensor 105. In the present embodiment, theacceleration sensor 104 detects the magnitude of the acceleration inpredetermined three axes (for example, the x-, y-, z-axes illustrated inFIG. 4) directions. Note that the acceleration sensor 104 may beconfigured to detect accelerations in one axial direction or two axialdirections. In the present embodiment, the angular velocity sensor 105detects an angular velocity around predetermined three axes (forexample, the x-, y-, z-axes illustrated in FIG. 4). Note that theangular velocity sensor 105 may detect angular velocity about one axisor around two axes. Each of the acceleration sensor 104 and the angularvelocity sensor 105 is connected to the communication control unit 101.Then, the detection results of the acceleration sensor 104 and theangular velocity sensor 105 are repeatedly output to the communicationcontrol unit 101 at an appropriate timing.

The communication control unit 101 obtains information related to theinput (specifically, information related to the operation or a detectionresult by the sensor) from each of input units (specifically, theindividual buttons 103, the analog stick 32, the sensors 104 and 105).The communication control unit 101 transmits the operation dataincluding the obtained information (or the information obtained byperforming predetermined processing on the obtained information) to themain body apparatus 2. The operation data is repeatedly transmitted at arate of once every predetermined time. The interval at which theinformation related to the input is transmitted to the main bodyapparatus 2 may either be the same or not the same for individual inputunits.

With transmission of the above-described operation data to the main bodyapparatus 2, the main body apparatus 2 can obtain the input performedonto the left controller 3. That is, the main body apparatus 2 candistinguish the operation onto the individual buttons 103 and the analogstick 32 on the basis of the operation data. Moreover, the main bodyapparatus 2 can calculate information related to one or both of themovement and the posture of the left controller 3 on the basis ofoperation data (specifically, detection results of the accelerationsensor 104 and the angular velocity sensor 105).

The left controller 3 includes a vibration actuator 107 for notifyingthe user by vibration. In the present embodiment, the vibration actuator107 is controlled by a command from the main body apparatus 2. That is,upon receiving the command from the main body apparatus 2, thecommunication control unit 101 drives the vibration actuator 107 inaccordance with the command. The left controller 3 includes a codec unit106. Upon receiving the above-described command, the communicationcontrol unit 101 outputs to the codec unit 106 a control signalcorresponding to the command. The codec unit 106 generates a drivesignal for driving the vibration actuator 107 from the control signalfrom the communication control unit 101 and supplies the generatedsignal to the vibration actuator 107. This causes the vibration actuator107 to operate.

More specifically, the vibration actuator 107 is a linear vibratingmotor. The linear vibrating motor is driven in a predetermined directionin accordance with the input voltage, unlike a normal motor that makes arotational motion. Accordingly, the linear vibrating motor can generatevibration at the amplitude and a frequency in accordance with thewaveform of the input voltage. In the present embodiment, a vibrationcontrol signal transmitted from the main body apparatus 2 to the leftcontroller 3 may be a digital signal representing frequency andamplitude per unit time. While, in another embodiment, it is allowableto transmit information indicating the waveform itself, it would bepossible to reduce the amount of communication data by transmittingamplitude and frequency alone. Moreover, in order to further reduce thedata amount, it would be also allowable to transmit solely thedifference from a previous value instead of the values of the amplitudeand frequency at that time. In this case, the codec unit 106 converts adigital signal indicating the values of the amplitude and the frequencyobtained from the communication control unit 101 into an analog voltagewaveform and inputs a voltage in accordance with the waveform, therebydriving the vibration actuator 107. With this configuration, the mainbody apparatus 2 can control the amplitude and the frequency at whichthe vibration actuator 107 is vibrated at that time by changing theamplitude and frequency to be transmitted per unit time. Note that theamplitude and the frequency transmitted from the main body apparatus 2to the left controller 3 are not limited to one, and two or more may betransmitted. In this case, the codec unit 106 can generate a waveform ofthe voltage for controlling the vibration actuator 107 by combining thewaveforms indicated by the plurality of received amplitudes andfrequencies.

The left controller 3 includes a power supply unit 108. In the presentembodiment, the power supply unit 108 includes a battery and a powercontrol circuit. Although not illustrated, the power control circuit isconnected to the battery and is also connected to each of portions ofthe left controller 3 (specifically, each of portions receiving powersupply of the battery).

As illustrated in FIG. 7, the right controller 4 includes acommunication control unit 111 that communicates with the main bodyapparatus 2. The right controller 4 also includes a memory 112 connectedto the communication control unit 111. The communication control unit111 is connected to each of the components including the terminal 64.The communication control unit 111 and the memory 112 have the functionssimilar to the functions of the communication control unit 101 and thememory 102 of the left controller 3. Accordingly, the communicationcontrol unit 111 can communicate with the main body apparatus 2 in bothwired communication via the terminal 64 and wireless communication notvia the terminal 64 (specifically, communication conforming to theBluetooth (registered trademark) standard) and controls thecommunication method performed by the right controller 4 onto the mainbody apparatus 2.

The right controller 4 includes individual input units similar to theindividual input units of the left controller 3. Specifically, the rightcontroller 4 includes the individual buttons 113, the analog stick 52,and an inertial sensor (an acceleration sensor 114 and an angularvelocity sensor 115). Each of these input units has functions similar toindividual input units of the left controller 3 and operates in thesimilar manner.

The right controller 4 also includes a vibration actuator 117 and acodec unit 116. The vibration actuator 117 and the codec unit 116operate similarly to the vibration actuator 107 and the codec unit 106of the left controller 3. That is, the communication control unit 111causes the vibration actuator 117 to operate using the codec unit 116 inaccordance with a command from the main body apparatus 2.

The right controller 4 includes a power supply unit 118. The powersupply unit 118 has functions similar to the functions of the powersupply unit 108 of the left controller 3 and operates in the similarmanner.

(Game Control Using Each of Controllers)

In the present embodiment, the user performs a predetermined game usingthe game system 1. For example, the user moves a player characterdisplayed on the display 12 of the main body apparatus 2 in the gamespace and performs a game of fighting against a predetermined enemycharacter. In the present embodiment, the user can play the game alone,or a plurality of players can play a game. In a case where the userperforms a game alone, the user moves an own player character object Pin the game space and fights against an enemy character (non-playercharacter) controlled by the main body apparatus 2. When playing a gameby a plurality of players, a plurality of the main body apparatuses 2communicate with each other (for example, wireless communication,communication via a LAN, or communication via the Internet), and each ofthe users fights by operating one's own player character.

In the present embodiment, the user can use the game system 1 with theleft controller 3 and the right controller 4 being removed from the mainbody apparatus 2. FIG. 8 is a diagram illustrating an exemplary state inwhich a single user uses the game system 1 while holding the leftcontroller 3 with his left hand and holding the right controller 4 withhis right hand. In this case, as illustrated in FIG. 8, the positionalrelationship between the left controller 3 and the right controller 4 isnot fixed, making it possible to move both the controllers 3 and 4freely. Note that while the user can also perform the game operationusing the left controller 3 and the right controller 4 attached to themain body apparatus 2, the description thereof will be omitted in thisspecification.

(Operation Data Output from Each of Controllers)

Next, operation data output from each of controllers will be described.Operation data output from these controllers is obtained by the mainbody apparatus 2 and stored in a memory such as the DRAM 85. FIG. 9 is adiagram illustrating exemplary operation data output from the leftcontroller 3. FIG. 10 is a diagram illustrating exemplary operation dataoutput from the right controller 4.

As illustrated in FIG. 9, operation data D300 output from the leftcontroller 3 includes acceleration data D301, angular velocity dataD302, left stick data D303, and individual button data D304. Theoperation data D300 illustrated in FIG. 9 is output from the leftcontroller 3 to the main body apparatus 2 at predetermined timeintervals (for example, at 1/200 second intervals). Note that theoperation data D300 illustrated in FIG. 9 is output to the main bodyapparatus 2 in a case where the left controller 3 is configured as themobile apparatus controller 100 or as a wireless controller 300.

The acceleration data D301 is data indicating the value of theacceleration detected by the acceleration sensor 104. The angularvelocity data D302 is data indicating the value of the angular velocitydetected by the angular velocity sensor 105.

The left stick data D303 is data corresponding to operation onto theanalog stick 32 and includes data indicating a direction correspondingto the inclination direction of the stick member and data indicating aninclination amount of the stick member. Moreover, as described above,the analog stick 32 is an input unit that can also perform pressinginput onto the stick member. The left stick data D303 also includes dataindicating whether the pressing input has been performed onto the analogstick 32.

The individual button data D304 includes data (data indicating ON orOFF) indicating whether operation onto individual buttons of the leftcontroller 3 has been performed. For example, the individual button data304 includes data indicating whether the operation buttons 33 to 36 arepressed, data indicating whether the recording button 37 is pressed,data indicating whether the first L button 38 is pressed, dataindicating whether the ZL button 39 is pressed, and data indicatingwhether the − button 47 is pressed.

As illustrated in FIG. 10, operation data D400 output from the rightcontroller 4 includes acceleration data D401, angular velocity dataD402, right stick data D403, and individual button data D404. Theoperation data D400 illustrated in FIG. 10 is output from the rightcontroller 4 to the main body apparatus 2 at predetermined timeintervals (for example, at 1/200 second intervals). Note that theoperation data D400 illustrated in FIG. 10 is output to the main bodyapparatus 2 in both cases where the right controller 4 is configured asthe mobile apparatus controller 100 and as a wireless controller 300.

The acceleration data D401 is data indicating the value of theacceleration detected by the acceleration sensor 114. The angularvelocity data D402 is data indicating a value of the angular velocitydetected by the angular velocity sensor 115.

The right stick data D403 is data corresponding to operation onto theanalog stick 52, and includes data indicating a direction correspondingto the inclination direction of the stick member and data indicating theinclination amount of the stick member. Moreover, as described above,the analog stick 52 is the input unit capable of performing pressinginput onto the stick member. The right stick data D 403 also includesdata indicating whether the pressing input has been performed onto theanalog stick 52.

The individual button data D404 includes data (data indicating ON orOFF) indicating whether operation onto individual buttons of the rightcontroller 4 has been performed. For example, the individual button dataD404 includes data indicating whether the operation buttons 53 to 56 arepressed, data indicating whether the home button 58 is pressed, dataindicating whether the first R button 60 is pressed, data indicatingwhether the ZR button 61 is pressed, and data indicating whether the +button 57 is pressed.

(Game Processing and Vibration Control)

FIG. 11 is a block diagram illustrating the configuration of the gamesystem 1 of the present embodiment. Note that FIG. 11 illustrateselements necessary for explaining the game processing of the presentembodiment. The game system 1 includes a left controller 3 as anoperation apparatus, the right controller 4 as another operationapparatus, and a main body apparatus 2 as a game apparatus.

The left controller 3 includes an operation unit 301, a vibration unit302, and a communication unit 303. The right controller 4 includes anoperation unit 401, a vibration unit 402, and a communication unit 403.The operation unit 301 corresponds to the analog stick 32 and individualbuttons 33 to 39, and the operation unit 401 corresponds to the analogstick 52 and individual buttons 53 to 61 described above. The playerperforms an operation input onto the left controller 3 by operating theoperation unit 301 and performs an operation input onto the rightcontroller 4 by operating the operation unit 401.

A communication unit 303, serving as a reception unit/transmission unit,communicates with the main body apparatus 2 and corresponds to thecommunication control unit 101. The communication unit 403, serving as areception unit/transmission unit, communicates with the main bodyapparatus 2 and corresponds to the communication control unit 111.

Each of the operation units 301 and 401 receives operation from theplayer and generates and outputs operation data to the communicationunits 303 and 403. The communication units 303 and 403 transmit theoperation data to the main body apparatus 2. A communication unit 201 ofthe main body apparatus 2 receives the operation data transmitted fromeach of the left controller 3 and the right controller 4.

The vibration unit 302 corresponds to the codec unit 106 and thevibration actuator 107, and the vibration unit 402 corresponds to thecodec unit 116 and the vibration actuator 117. As described above, thevibration actuators 107 and 117 are formed with linear vibrating motorsand can be driven by waveform signals.

Specifically, since the conventional vibration mechanism generatesvibration by rotating an eccentric weight, the parameter for controllingthe vibration is the rotation speed alone, leading to a difficulty ingenerating complicated vibration. The vibration units 302 and 402according to the present embodiment are formed with linear vibratingmotors and are driven by waveform signals. With this configuration, itis possible to control vibrations with two parameters, amplitude andfrequency, leading to achievement of generating more complex vibrations.

Moreover, the vibration units 302 and 402 according to the presentembodiment generate a combined waveform by combining the two waveformsignals by the codec units 106 and 116, causing the vibration actuators107 and 117 to vibrate by the combined waveform. Accordingly, it ispossible to generate vibration with an (arbitrary) vibration waveform.While the resonance frequencies of the vibration units 302 and 402 areabout 175 Hz and about 300 Hz, the present embodiment causes thevibration units 302 and 402 to vibrate at a frequency around theresonance frequency of 175 Hz (within the half width), generating strongvibration.

The main body apparatus 2 includes the communication unit 201, awaveform information generator 202, and a game processing unit 203. Thecommunication unit 201 communicates with the left controller 3 and theright controller 4, and corresponds to the controller communication unit83. The waveform information generator 202 and the game processing unit203 are realized by execution of a game program stored in the flashmemory 84 by the CPU 81.

The waveform information generator 202 generates vibration waveforminformation for causing the vibration units 302 and 402 to vibrate inaccordance with the game processing in the game processing unit 203. Thewaveform information generator 202 generates left vibration waveforminformation for causing the vibration unit 302 to vibrate and rightvibration waveform information for causing the vibration unit 302 tovibrate. Each of the left and right vibration waveform informationincludes information related to two vibration waveforms (a firstvibration waveform and a second vibration waveform). Hereinafter, thevibration waveform information representing the first vibration waveformwill be referred to as first vibration waveform information, and thevibration waveform information representing the second vibrationwaveform will be referred to as second vibration waveform information.

As described above, each of the vibration unit 302 and the vibrationunit 402 combines the first vibration waveform and the second vibrationwaveform and vibrates in accordance with the combined waveform. Each ofthe first and second vibration waveform information includes frequencyand amplitude values. That is, the game system 1 according to thepresent embodiment is configured to be able to provide informationindicating two vibration waveforms having different frequencies and/oramplitudes to each of the left and right controllers.

The game system 1 according to the present embodiment transmits thevibration waveform determined by the main body apparatus 2 to the leftand right controllers 3 and 4 as vibration waveform information asdigital information represented by the frequency and the amplitudevalues, and then, generates on the left and right controllers 3 and 4 ananalog vibration waveform from the vibration waveform information as thedigital information and causes the vibration units 302 and 402 tovibrate. This makes it possible to reduce the amount of data to betransferred and to perform vibration control at a high frame rate.

The game processing unit 203 performs game processing in accordance withthe game program on the basis of the operation data received from theleft controller 3 and the right controller 4.

FIG. 12 is a flowchart of the operation of the main body apparatus 2 andthe controller. The operation units 301 and 401 of the controllerreceive operation of the player and generate operation data indicatingoperation content (step S101). The communication units 303 and 403 ofthe controller transmit the generated transmission data to the main bodyapparatus 2 (step S102).

The communication unit 201 of the main body apparatus 2 receives thetransmitted operation data (step S201). The game processing unit 203performs game processing in accordance with the game program on thebasis of the operation data (step S202). In response to the gameprocessing, the waveform information generator 202 generates firstvibration waveform information on the basis of the game processing (stepS203), and generates second vibration waveform information (step S204).

The communication unit 201 transmits the generated first vibrationwaveform information and second vibration waveform information to thecontroller (step S205). At this time, in a case where the waveforminformation generator 202 generates vibration waveform informationdifferent between the left controller 3 and the right controller 4, thecommunication unit 201 transmits the first vibration waveforminformation and the second vibration waveform information generated forthe left controller 3 to the left controller 3, and transmits the firstvibration waveform information and the second vibration waveforminformation generated for the right controller 4 to the right controller4. Note that in the present embodiment, the same vibration waveforminformation is generated for the left controller 3 and the rightcontroller 4.

Each of the communication units 303 and 403 of the controller receivesthe first vibration waveform information and the second vibrationwaveform information transmitted from the main body apparatus 2 (stepS103). Each of the vibration units 302 and 402 generates a combinedwaveform by combining the first vibration waveform indicated by thereceived first vibration waveform information with the second vibrationwaveform indicated by the received second vibration waveform information(step S104) and causes each of the vibration actuators 107 and 117respectively to vibrate with the combined waveform (step S105).

Note that the main body apparatus 2 performs processing at intervals of1/60 seconds (about 17 ms) and generates vibration waveform informationevery 5 ms, and then, transmits the vibration waveform information tothe controller at intervals of 5 ms. That is, the main body apparatus 2generates vibration waveform information of three to four slots withsingle processing performed at 1/60 second intervals, with 5 ms as theminimum unit in defining the vibration waveform as a slot. The main bodyapparatus 2 may generate different vibration waveform information foreach of a plurality of slots in single processing of generatingvibration waveform information (steps S203 and S204), or may generatesame vibration waveform information for the plurality of slots. In thepresent embodiment, the main body apparatus 2 generates the samevibration waveform information for all of the plurality of slotsgenerated by the single processing.

The following will describe an exemplary case of a game in which aplayer character on a motorcycle moves while driving a motorcycle withina virtual space, as illustrated in FIGS. 13A and 13B. The gameprocessing unit 203 determines a traveling direction of a motorcycleobject B on which a player character object P is riding in accordancewith inclination operation onto the analog stick 32 of the leftcontroller 3, and advances the motorcycle object B on which the playercharacter object P is riding in accordance with pressing operation of anA button 53 of the right controller 4. At this time, the vibration units302 and 402 of the left and right controllers 3 and 4 vibrate bysimulating vibration by the engine of the motorcycle object B. That is,the waveform information generator 202 generates vibration waveforminformation in accordance with the game processing based on the player'soperation, and the vibration units 302 and 402 vibrate in accordancewith the vibration waveform information. In other words, the vibrationunits 302 and 402 vibrate in accordance with the player's operation (forgame processing).

FIG. 14A is a graph illustrating an exemplary temporal change in themoving speed of the motorcycle object B within the virtual space by thegame processing. FIGS. 14B and 14C are graphs respectively illustratingtemporal change examples of the amplitudes and frequencies for the firstand second vibration waveforms at the time of movement of the motorcycleobject B as illustrated in FIG. 14A in the virtual space by gameprocessing. In the example of FIG. 14A, the motorcycle object B that hasbeen stationary at time t0 starts running at time t11 in accordance withthe player's operation. That is, at time t11, an event of running occurson the motorcycle object B.

In this example, the player cannot adjust the speed of the motorcycleobject B, and the state of the event of running of the motorcycle objectB is one of “stationary (idling)” and “running (at constant speed v1)”.The player can maintain the state of “running” by continuously pressingthe A button 53.

Before the player presses the A button 53 to instruct running, themotorcycle object B is in the “stationary” state and is idling. As thevibration simulating idling, when the motorcycle object B is in astationary state (time t0 to time t11), the waveform informationgenerator 202 generates first vibration waveform informationrepresenting the first vibration waveform, and second vibration waveforminformation representing the second vibration waveform having theamplitude same as the first vibration waveform and frequency differentfrom the first vibration waveform.

More specifically, the amplitudes of the first and second vibrationwaveforms at the time of idling are both all, while the frequency of afirst vibration waveform w1 is f11 and the frequency of a secondvibration waveform w2 is f12. In the present embodiment, f11=160 Hz andf12=168 Hz. The frequency difference (f12−f11=8 Hz) generatesinterference between the first vibration waveform and the secondvibration waveform, leading to generation of beat of vibration due tothe frequency difference (8 Hz) in the vibration units 302 and 402. Thisbeat of 8 Hz is associated with the vibration of the engine at the timeof idling of the motorcycle object B.

When the motorcycle object B enters the “running” state at time t11, theamplitudes of the first vibration waveform and the second vibrationwaveform increase to become a12 (a12>a11), leading to vibration of thevibration units 302 and 402 with larger amplitudes. Meanwhile, thefrequency is changed such that the frequency of the second vibrationwaveform w2 increases to f13 leading to an increase in the differencebetween the frequency of the first vibration waveform w1 and thefrequency of the second vibration waveform w2. In this example, f13=180Hz. This increases the beat frequency from 8 Hz to 20 Hz, making itpossible to perform presentation of generating higher frequency ofvibration of the engine of the motorcycle object B than the frequency atthe time of idling.

The running state of the motorcycle object B at a constant speed ismaintained by continuous pressing of the A button 53 even from time t11onward by the player. At this time, while the beat frequency (frequencydifference between the first vibration waveform w1 and the secondvibration waveform w2) simulating the vibration of the engine is set tobe constant, the amplitude is decreased with the lapse of time even whenthe state of the event of the motorcycle object B (moving speed) isconstant.

Specifically, the waveform information generator 202 calculatesamplitude a(t) by the following formula (1) such that the first andsecond vibration waveforms attenuate with the lapse of time.a(t)=a12{1−k1(t−t11)}  (1)where, k1 is an attenuation coefficient representing the speed ofattenuation.

When the amplitude decreases with the lapse of time up to a13 at timet12, the waveform information generator 202 maintains, after thedecrease, the amplitude a13 as long as the running state continues. Inan example of FIG. 14B, the amplitude a13 is set smaller than theamplitude all at the time of idling (a11>a13).

In this manner, in a case where the running state continues, bydecreasing the amplitude of the vibration waveform with the lapse oftime and maintaining it at a constant value, the player can recognizethat the motorcycle object B is in the running state by vibrationsensation of the controllers 3 and 4. At the same time, in a case ofgenerating the vibration accompanying the occurrence of another event inthe running state, the player can better feel the vibration derived fromthe other event.

In the example of FIG. 14B, an event of explosion occurs in the vicinityof the motorcycle object B at time t13, leading to presentation ofproducing abrupt vibration due to this explosion using the controllers 3and 4. The vibration accompanying the occurrence of a single event ofthis explosion ends after a predetermined lapse of time. In the exampleof FIG. 14B, the amplitude increases due to the explosion event at timet13, and the vibration derived from the explosion event also ends attime t14, namely, the ending time of effects (video and sound) of theexplosion event within the virtual space.

FIG. 15A is a graph illustrating another example of the temporal changein the moving speed of the motorcycle object B within the virtual spaceby the game processing. FIGS. 15B and 15C are graphs respectivelyillustrating temporal change examples of the amplitudes and frequenciesfor the first and second vibration waveforms at the time of movement ofthe motorcycle object B as illustrated in FIG. 15A in the virtual spaceby game processing. In the example of FIG. 15A, the motorcycle object Bthat has been stationary at time t0 starts running at time t21 inaccordance with the player's operation. That is, at time t21, an eventof running occurs on the motorcycle object B.

In the example of FIG. 15A, the player continues pressing the A button53, whereby the state of the event of running, that is, the moving speedincreases during a period from time t21 to time t22 at a constantacceleration. When the moving speed reaches a speed v21 as an upperlimit value at time t22, the speed v21 is maintained while the A button53 is being pressed.

As illustrated in FIG. 15B, the waveform information generator 202generates vibration waveform information representing a vibrationwaveform maintaining a constant amplitude a22 during acceleration of themotorcycle object B. The waveform information generator 202 generatesvibration waveform information representing by the vibration waveform inwhich, when the speed of the motorcycle object B becomes constant at theupper limit value v21 at time t22, the amplitude decreases from thatpoint with the lapse of time. When the amplitude decreases with thelapse of time up to a23 at time t23, the waveform information generator202 thereafter maintains the amplitude a23 as long as the running statecontinues.

As illustrated in FIG. 15C, during the period from the occurrence of the“running” event at time t21 until time t22 at which the moving speedincreases, the waveform information generator 202 increases thefrequency of the second vibration waveform from f22 with the lapse oftime in accordance with the increase in the speed of the motorcycleobject B, thereby increasing the frequency difference (f22−f21), thatis, the difference with the frequency f21 of the first vibrationwaveform with the following formula (2).f(t)=f22{1+k2(t−t21)}  (2)where, k2 is a coefficient representing an increase rate from thefrequency of the second vibration waveform to the frequency differencebetween the first vibration waveform and the second vibration waveform.This increases the beat frequency. This beat frequency increasecorresponds to the acceleration of the motorcycle object B.

When the speed of the motorcycle object B reaches the upper limit valuev21 at time t22 and thereafter maintains the upper limit speed v21, thefrequency of the second vibration waveform reaches f23. Thereafter, thewaveform information generator 202 generates the vibration waveforminformation of the second vibration waveform having the constantfrequency value f23.

FIG. 16A is a graph t illustrating still another example of the temporalchange of the moving speed of the motorcycle object B within the virtualspace by the game processing. FIGS. 16B and 16C are graphs respectivelyillustrating temporal change examples of the amplitudes and frequenciesfor the first and second vibration waveforms at the time of movement ofthe motorcycle object B as illustrated in FIG. 16A in the virtual spaceby game processing.

In the example of FIG. 16A, two states of a low speed v31 and a highspeed v32 are defined in the “running” event of the motorcycle object B.The event of “running” occurs from time t31 to time t32 and from timet33 onward. The state of the “running” event is “low speed” (speed v31)during time t31 to t32, and the state of the “running” event is “highspeed” (speed v32) from time t33 onward. The player allows a runningevent in a low speed state to occur by pressing the A button 53 of theright controller 3, and allows a running event in a high speed state tooccur by pressing the B button 54 of the left controller 4.

As illustrated in FIG. 16B, the waveform information generator 202generates vibration waveform information such that the amplitude isincreased from a31 of idling to a32 when the motorcycle object B reachesthe low speed running state (speed v31) at time t31, and that theamplitude gradually decreases when the low speed running state continuesthereafter, and that the amplitude a34 is maintained after the amplitudedecreases to a34. The waveform information generator 202 subsequentlygenerates vibration waveform information such that the amplitude of thevibration waveform is returned to the amplitude a31 of idling when themotorcycle object B stops at time t32, and that the amplitude isincreased from a31 of idling to a33 greater than a32 when the motorcycleobject B reaches the high speed running state (speed v32) at time t33,and that the amplitude is gradually decreased when the high speedrunning state continues, and that the amplitude a34 is maintained afterthe amplitude decreases to a34.

As illustrated in FIG. 16C, the waveform information generator 202 setsthe frequency of the second vibration waveform to f32 during the periodfrom time t0 to t31 in which the motorcycle object B is stopped in theidling state, and during the period from time t32 to t33. When themotorcycle object B is in the low speed running state (speed v31) duringthe period from time t31 to time t32, the waveform information generator202 generates the vibration waveform information so as to increase thedifference from the frequency f31 of the first vibration waveform bysetting the frequency of the second vibration waveform to f33. When themotorcycle object B is in the high speed running state (speed v32) fromtime t33 onward, the waveform information generator 202 generates thevibration waveform information so as to achieve a larger difference fromthe frequency f31 of the first vibration waveform than at the time oflow speed running state by setting the frequency of the second vibrationwaveform to f34.

The examples of FIGS. 14A to 16C describe cases where solely thefrequency of the second vibration waveform of high frequency is changedwith the frequency of the first vibration waveform of low frequencybeing fixed in order to change the beat frequency. Alternatively, it isalso allowable to change the frequency of the first vibration waveformof low frequency with the frequency of the second vibration waveform ofhigh frequency being fixed. Still, alternatively, it is also allowableto change both the frequency of the first vibration waveform and thefrequency of the second vibration waveform. Specifically, while thefrequency of the second vibration waveform of high frequency is changedto a still higher frequency with the frequency of the first vibrationwaveform of low frequency being fixed in order to increase the beatfrequency, it is also allowable to reverse this and change the frequencyof the first vibration waveform of low frequency to a still lowerfrequency with the frequency of the second vibration waveform of highfrequency being fixed. Still, alternatively, it is also allowable tochange the first vibration waveform of low frequency to a still lowerfrequency and change the frequency of the second vibration waveform ofhigh frequency to a still higher frequency.

As described above, the game system 1 according to the presentembodiment is configured to allow the controller to vibrate inaccordance with game processing, making it possible to give the playervibration sensation corresponding to the game processing. Moreover, thevibration units 303 and 403 of the controller according to the presentembodiment are formed with linear vibrating motors and can be driven bywaveform signals, making it possible to give the player a variety ofvibration sensations by adjusting the vibration waveform. Furthermore,the vibration units 303 and 403 of the controller according to thepresent embodiment vibrate in accordance with a combined waveformobtained by combining two types of vibration waveforms, making itpossible to give individual players a variety of vibration sensations.

Moreover, in a case where the event continues in a constant state suchas a case of running of the motorcycle object B at a constant speed, theamplitude decreases with the lapse of time instead of maintaining thevibration associated with the event to be constant. With thisconfiguration, it is possible to reduce the discomfort caused by thecontinuation of a relatively large vibration accompanying a continuedevent, and in a case where another event occurs, it is possible to allowthe player to sense the occurrence of the event by giving the player avibration corresponding to the event.

Furthermore, according to the present embodiment, by providing mutuallydifferent frequencies of two types of vibration waveforms, it ispossible to generate a beat of vibration corresponding to the differencebetween the frequencies. Moreover, the beat frequency is changed bychanging the frequency difference in accordance with the change in thestate of the event (for example, the change in the moving speed in therunning event), making it possible to allow the player to sense thechange in the state of the event by vibration.

Note that while in the above embodiment, the vibration waveforminformation for causing the left controller 3 to vibrate and thevibration waveform information for causing the right controller 4 tovibrate are set to the same, they may be set to be different from eachother. For example, as illustrated in FIG. 13B, in a case where theplayer inclines the analog stick 32 to the right and the game processingunit 203 causes the motorcycle object B on which the player characterobject P is riding to run in the right direction, the waveforminformation generator 202 may generate vibration waveform information tobe transmitted to the left controller 3 and vibration waveforminformation to be transmitted to the right controller 4 such that theamplitude of the right controller 4 becomes larger than the amplitude ofthe left controller 3. At this time, the waveform information generator202 may generate the vibration waveform information for the rightcontroller 4 such that the amplitude of the right controller 4 increasesin accordance with the degree of inclination of the analog stick 32,that is, the degree of inclination to the right in the running directionof the motorcycle object B in the game processing.

In the above-described embodiment, the operation target of the playerusing the controllers 3 and 4 is the player character object P on themotorcycle object B or the motorcycle object B on which the playercharacter object P is riding. Alternatively, the vehicle on which thecharacter object P rides is not limited to the motorcycle object B butmay be another vehicle such as a cart and an airplane. Moreover, theoperation target of the player may be the player character object Pitself or may be the target unrelated to the player character.

As described above, in the present embodiment, although the state of acertain event is maintained constant in game processing, the vibrationassociated with the event decreases with the lapse of time. Events towhich such vibration control is applicable are not limited to “running”in the above-described example. For example, even an event that theplayer character is present in a predetermined region is an event thestate of which can be maintained. Vibration associated with the factthat the player character is present in the predetermined region may beset such that a vibration waveform with a large amplitude is provided ina case where the player character enters the region, and the amplitudeof the vibration waveform may be gradually reduced in a case where theplayer character continues to be present in the same region.

In addition to the beat due to the frequency difference between the twovibration waveforms, being associated with the running or moving speedof the motorcycle object B in the virtual space, various applicationsare possible. That is, in a case where it is desired to give the playervibration sensation of about several Hz to several tens Hz, it would bedifficult to cause the vibration unit to vibrate at that frequency andto set the resonance frequencies of the controllers 3 and 4 to thefrequency approximately equal to the desired frequency, due to designissues of the controllers 3 and 4. Fortunately, however, according tothe above-described embodiment, it is possible to give the playervibration sensation of several Hz to several tens Hz using the beatgenerated by the frequency difference between the two vibrationwaveforms as described above. This makes it possible to achieveapplication to any cases where it is desired to give the playervibration sensation of several Hz to several tens Hz.

Also, although the above embodiment does not refer to sound, gameprocessing also includes sound generation processing. The sound may begenerated on the basis of the state of the event in the game processingand may be synchronized with the vibration of the controllers 3 and 4.Specifically, in a case where the amplitude of the vibration is large,the sound may also be increased accordingly. In a case where thevibration frequency or beat frequency is high, the pitch may beincreased accordingly, or the sound repetition period may be reduced.Furthermore, the repetition frequency of the sound may be the same asthe beat frequency.

I claim:
 1. A game system comprising: an operation device; a processorconfigured to perform game processing on the basis of operation of theoperation device; a first waveform information generator configured togenerate first vibration waveform information representing a firstvibration waveform having a predetermined frequency on the basis of thegame processing; a second waveform information generator configured togenerate second vibration waveform information representing a secondvibration waveform having a frequency different from the frequency ofthe first vibration waveform on the basis of the game processing; and avibration actuator configured to vibrate in accordance with a combinedwaveform obtained from the first vibration waveform and the secondvibration waveform, on the basis of the first vibration waveforminformation and the second vibration waveform information, wherein thefirst waveform information generator changes the frequency of the firstvibration waveform according to a situation of the game processingand/or the second waveform information generator changes the frequencyof the second vibration waveform according to a situation of the gameprocessing, whereby a difference between the frequency of the firstvibration waveform and the frequency of the second vibration waveformchanges according to a situation of the game processing.
 2. The gamesystem according to claim 1, wherein the processor moves a predeterminedobject within a virtual space at a moving speed corresponding tooperation of the operation device, and the first waveform informationgenerator generates the first vibration waveform information in whichthe frequency of the first vibration waveform changes in accordance withthe moving speed, and/or the second waveform information generatorgenerates the second vibration waveform information in which thefrequency of the second vibration waveform changes in accordance withthe moving speed.
 3. The game system according to claim 1, wherein thefirst waveform information generator generates the first vibrationwaveform information so as to decrease the amplitude of the vibrationwaveform of the first vibration waveform in accordance with the lapse oftime, and/or the second waveform information generator generates thesecond vibration waveform information so as to decrease the amplitude ofthe vibration waveform of the second vibration waveform in accordancewith the lapse of time.
 4. The game system according to claim 1, whereinthe first waveform information generator generates the first vibrationwaveform information in which the frequency of the first vibrationwaveform is within a half width of a resonance frequency of thevibration actuator, and/or the second waveform information generatorgenerates the second vibration waveform information in which thefrequency of the second vibration waveform is within the half width ofthe resonance frequency of the vibration actuator.
 5. The game systemaccording to claim 1, further comprising an operation apparatus and aninformation processing apparatus, wherein the operation apparatusincludes: the operation device; the vibration actuator; and a first datatransceiver configured to transmit operation data representing operationof the operation device to the information processing apparatus, andreceive the first vibration waveform information and the secondvibration waveform information from the information processingapparatus, the information processing apparatus includes: the processor;the first waveform information generator; the second waveforminformation generator; and a second data transceiver configured toreceive the operation data, and transmit the first vibration waveforminformation and the second vibration waveform information to theoperation apparatus, the first vibration waveform information includesfrequency and amplitude values of the first vibration waveform, and thesecond vibration waveform information includes frequency and amplitudevalues of the second vibration waveform.
 6. The game system according toclaim 5, comprising two operation apparatuses, wherein the second datatransceiver performs transmission and reception with the first datatransceiver of each of the two operation apparatuses.
 7. Anon-transitory storage medium having stored therein a game program thatcauses an information processing apparatus to execute: receivingoperation data from an operation apparatus; performing game processingon the basis of the operation data; generating first vibration waveforminformation representing a first vibration waveform having apredetermined frequency on the basis of the game processing; generatingsecond vibration waveform information representing a second vibrationwaveform having a frequency different from the frequency of the firstvibration waveform on the basis of the game processing; transmittingboth the first vibration waveform information and the second vibrationwaveform information to a vibration actuator in the operation apparatus;and changing the frequency of the first vibration waveform according toa situation of the game processing and/or changing the frequency of thesecond vibration waveform according to a situation of the gameprocessing, whereby a difference between the frequency of the firstvibration waveform and the frequency of the second vibration waveformchanges according to a situation of the game processing.
 8. Thenon-transitory storage medium according to claim 7, wherein the gameprocessing moves a predetermined object within a virtual space at amoving speed corresponding to the operation data, and the first waveforminformation generating generates the first vibration waveforminformation in which the frequency of the first vibration waveformchanges in accordance with the moving speed, and/or the second waveforminformation generating generates the second vibration waveforminformation in which the frequency of the second vibration waveformchanges in accordance with the moving speed.
 9. The non-transitorystorage medium according to claim 7, wherein the first waveforminformation generating generates the first vibration waveforminformation so as to decrease the amplitude of the vibration waveform ofthe first vibration waveform in accordance with the lapse of time,and/or the second waveform information generating generates the secondvibration waveform information so as to decrease the amplitude of thevibration waveform of the second vibration waveform in accordance withthe lapse of time.
 10. The non-transitory storage medium according toclaim 7, wherein the first waveform information generating generates thefirst vibration waveform information in which the frequency of the firstvibration waveform is within a half width of a resonance frequency ofthe vibration actuator and/or the second waveform information generatinggenerates the second vibration waveform information in which thefrequency of the second vibration waveform is within the half width ofthe resonance frequency of the vibration actuator.
 11. A game apparatuscomprising: a data receiver configured to receive operation data from anoperation apparatus; a processor configured to perform game processingon the basis of the operation data; a first waveform informationgenerator configured to generate first vibration waveform informationrepresenting a first vibration waveform having a predetermined frequencyon the basis of the game processing; a second waveform informationgenerator configured to generate second vibration waveform informationrepresenting a second vibration waveform having a frequency differentfrom the frequency of the first vibration waveform on the basis of thegame processing; and a transmitter configured to transmit the firstvibration waveform information and the second vibration waveforminformation to a vibration actuator in the operation apparatus, whereinthe first waveform information generator changes the frequency of thefirst vibration waveform changes according to a situation of the gameprocessing and/or the second waveform information generator changes thefrequency of the second vibration waveform according to a situation ofthe game processing, whereby a difference between the frequency of thefirst vibration waveform and the frequency of the second vibrationwaveform changes according to a situation of the game processing. 12.The game apparatus according to claim 11, wherein the processor moves apredetermined object within a virtual space at a moving speedcorresponding to operation of the operation device, and the firstwaveform information generator generates the first vibration waveforminformation in which the frequency of the first vibration waveformchanges in accordance with the moving speed, and/or the second waveforminformation generator generates the second vibration waveforminformation in which the frequency of the second vibration waveformchanges in accordance with the moving speed.
 13. The game apparatusaccording to claim 11, wherein the first waveform information generatorgenerates the first vibration waveform information so as to decrease theamplitude of the vibration waveform of the first vibration waveform inaccordance with the lapse of time, and/or the second waveforminformation generator generates the second vibration waveforminformation so as to decrease the amplitude of the vibration waveform ofthe second vibration waveform in accordance with the lapse of time. 14.The game apparatus according to claim 11, wherein the first waveforminformation generator generates the first vibration waveform informationin which the frequency of the first vibration waveform is within a halfwidth of a resonance frequency of the vibration actuator, and/or thesecond waveform information generator generates the second vibrationwaveform information in which the frequency of the second vibrationwaveform is within the half width of the resonance frequency of thevibration actuator.
 15. A game method comprising: receiving operation ofa player on an operation apparatus; performing game processing on thebasis of the operation; generating first vibration waveform informationrepresenting a first vibration waveform having a predetermined frequencyon the basis of the game processing; generating second vibrationwaveform information representing a second vibration waveform having afrequency different from the frequency of the first vibration waveformon the basis of the game processing; changing the frequency of the firstvibration waveform according to a situation of the game processingand/or changing the frequency of the second vibration waveform accordingto a situation of the game processing, whereby a difference between thefrequency of the first vibration waveform and the frequency of thesecond vibration waveform changes according to a situation of the gameprocessing; and causing a vibration actuator in the operation apparatusto vibrate in accordance with a combined waveform obtained from thefirst vibration waveform and the second vibration waveform, on the basisof the first vibration waveform information and the second vibrationwaveform information.
 16. The game method of claim 15 wherein thevibration actuator vibrates at a beat frequency that is a differencebetween a frequency of the first vibration waveform and a frequency ofthe second vibration waveform.
 17. The game system of claim 1 whereinthe vibration actuator vibrates at a beat frequency that is a differencebetween a frequency of the first vibration waveform and a frequency ofthe second vibration waveform.